package com.kzd.sdk.callback;

import android.app.Activity;
import android.app.Application;
import android.content.Context;
import android.content.Intent;

import com.kzd.sdk.entity.KZD_SdkInitParams;
import com.kzd.sdk.entity.KZD_SdkPayParams;
import com.kzd.sdk.entity.KZD_SdkRoleParams;

public interface KZD_OnSdkListener {

    /**
     * 初始化SDK
     *
     * @param application 上下文
     * @param params  参数信息
     */
    void init(Application application, KZD_SdkInitParams params);

    /**
     * 初始化SDK
     *
     * @param activity      活动对象
     * @param loginListener 回调信息
     */
    void login(Activity activity, KZD_OnLoginListener loginListener);

    /**
     * 初始化SDK
     *
     * @param activity       活动对象
     * @param payingListener 回调信息
     */
    void paying(Activity activity, KZD_SdkPayParams payParams, KZD_OnPayListener payingListener);

    /**
     * 初始化SDK
     *
     * @param activity      活动对象
     * @param rolesListener 回调信息
     */
    void roles(Activity activity, KZD_SdkRoleParams roleParams, KZD_OnRoleListener rolesListener);


    /**
     * onCreate
     *
     * @param activity 活动对象
     */
    void onCreate(Activity activity);

    /**
     * onStart
     *
     * @param activity 活动对象
     */
    void onStart(Activity activity);

    /**
     * onResume
     *
     * @param activity 活动对象
     */
    void onResume(Activity activity);

    /**
     * onPause
     *
     * @param activity 活动对象
     */
    void onPause(Activity activity);

    /**
     * onStop
     *
     * @param activity 活动对象
     */
    void onStop(Activity activity);

    /**
     * onRestart
     *
     * @param activity 活动对象
     */
    void onRestart(Activity activity);

    /**
     * onDestroy
     *
     * @param activity 活动对象
     */
    void onDestroy(Activity activity);

    /**
     * onActivityResult
     *
     * @param activity 活动对象
     */
    void onActivityResult(Activity activity, int requestCode, int resultCode, Intent data);

    /**
     * 显示浮窗视图
     *
     * @param activity 活动对象
     */
    void openFloatView(Activity activity);

    /**
     * 关闭浮窗视图
     *
     * @param activity 活动对象
     */
    void closeFloatView(Activity activity);

    /**
     * 退出游戏
     * */
    void exit(Activity activity);

}
